
<!--  活动细类-->
<template>
  <a-card :bordered="false">
    <!-- 查询区域 -->
    <search ref="search"  :config="searchConfig" @search="search" @getHeight="getHeight"/>

    <!-- table区域-begin -->
    <div class='page_table'>
      <vxe-grid
        ref='xGrid'
        v-bind='vexConfig'
        :align='left'
        :border='true'
        :checkbox-config='checkboxConfig'
        :columns='columns'
        :data='dataSource'
        :height='pageHeight-seachHeight-94'
        :loading='loading'
        :resizable='true'
        :showOverflow='true'
        :toolbar-config='tableToolbar'
        size='mini'
        @checkbox-change='selectChangeEvent'
        @checkbox-all='selectChangeEvent'
      >
        <template #toolbar_buttons>
            <!-- 操作按钮区域 -->
            <div class='table-operator'>
              <a-button type="primary" @click="handleAdd">新增</a-button>
              <a-button type="primary" @click='batchDel'>删除</a-button>
              <a-button type="primary" @click="stateChange(1)">启用</a-button>
              <a-button type="primary" @click="stateChange(0)">禁用</a-button>
              <a-button type='primary' @click="downExportXls('tpm_act_categories_service')">导出</a-button>
            </div>
        </template>
        <template #categoriesDetailCode='{ row,rowIndex }'>
          <a @click='onDblclicks(row)'>{{ row.categoriesDetailCode }}</a>
        </template>
        <template #status='{ row }'>
          <a-switch :checked="row.status" size="small" @change="handleStatus(row,$event)"/>
        </template>
        <template #action='{ row,rowIndex }'>
          <a @click='handleEdit(row)'>编辑</a>
        </template>
        <template #pager>
          <vxe-pager
            :currentPage.sync='ipagination.current'
            :layouts="['Total', 'PrevJump', 'PrevPage', 'Number', 'NextPage', 'NextJump','Sizes', 'FullJump']"
            :page-size.sync='ipagination.pageSize'
            :pageSizes='ipagination.pageSizeOptions'
            :total='ipagination.total'
            @page-change='handlePageChange'>
          </vxe-pager>
        </template>
      </vxe-grid>
    </div>
    <!-- table区域-end -->

    <class-add  ref="modalForm" @ok="modalFormOk"></class-add>
  </a-card>
</template>

<script>
import { PageListMixin } from '@/mixins/PageListMixin'
import { getAction, postAction } from '@api/manage'
import classAdd from './model/classAdd'
import JEllipsis from "@/components/cn-form/JEllipsis";


export default {
  name: 'activitiesClass',
  mixins:[PageListMixin],
  components: {
    classAdd,
    JEllipsis
  },
  data () {

    return {
      description: '活动细类',
      searchConfig:[
        {
          // label:'订单编号',
          type:'input',
          name:'categoriesDetailCode',
          placeholder:'活动细类编号',
        },{
          // label:'业务员',
          type:'input',
          name:'categoriesDetailName',
          placeholder:'活动细类名称',
        },{
          // label:'业务员',
          type:'input',
          name:'erpSubjectCode',
          placeholder:'ERP会计科目编码',
        },{
          // label:'业务员',
          type:'input',
          name:'erpSubjectName',
          placeholder:'ERP会计科目名称',
        },
        {
          type: 'a-select',
          name: 'status',
          placeholder: '状态',
          option: [
            {
              name: '启用',
              value: 1
            },
            {
              name: '停用',
              value: 0
            }]
        },],
      // 表头
      columns: [
        { type: 'checkbox', width: 50, fixed: null ,field: 'a',},
        {
          title: '活动细类编号',
          minWidth: 120,
          field: 'categoriesDetailCode',
          slots: { default: 'categoriesDetailCode' },
        },
        {
          title: '活动细类名称',
          field: 'categoriesDetailName',
          minWidth: 120,
        },
        {
          title: 'ERP会计科目编码',
          minWidth: 140,
          field: 'erpSubjectCode',
        },
        {
          title: 'ERP会计科目名称',
          minWidth: 140,
          field: 'erpSubjectName',
        },
        {
          title: '备注',
          minWidth: 80,
          field: 'remarks',
        },
        {
          title: '创建人',
          minWidth: 80,
          field: 'createName',

        },
        {
          title: '创建时间',
          minWidth: 120,
          field: 'createTime',
        },
        {
          title: '更新人',
          minWidth: 80,
          field: 'updateName',

        },
        {
          title: '更新时间',
          minWidth: 120,
          field: 'updateTime',
        },
        {
          title: '状态',
          field: 'status',
          fixed:'right',
          minWidth: 80,
          slots: { default: 'status' },
        },
        {
          title: '操作',
          field: 'action',
          minWidth: 120,
          fixed:'right',
          slots: { default: 'action' },
        }
      ],

      url: {
        // 列表接口
        list: window._CONFIG['domianTpmURL']+ "/act/categories/findPageList",
        // 详情接口
        detail: window._CONFIG['domianTpmURL']+ "/act/categories/findOne",
        // 导出接口
        // exportXlsUrl: window._CONFIG['domianTpmURL']+"budget/tpmBudgetFee/exportXls",
        // 删除接口
        deleteBatch:window._CONFIG['domianTpmURL']+ "/act/categories/delete",
        // 启停用接口
        status:window._CONFIG['domianTpmURL']+ "/act/categories/invokeOrBlockUp",
        startOrStopUrl:window._CONFIG['domianTpmURL']+ "/act/categories/invokeOrBlockUp",
      },
    }
  },
  created() {
    this.queryParam.doc='订货单'

  },
  computed: {
    // importExcelUrl: function(){
    //   return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
    // }
  },
  methods: {

    onDblclicks:async function (record){
      if (this.url.detail) {
        const res = await getAction(this.url.detail, {id: record.id})
        if (res && res.result) {
          record = res.result
        }else{
          this.$message.error(res.message)
        }
      }
      this.$refs.modalForm.edit(record);
      this.$refs.modalForm.title = "查看";
      this.$refs.modalForm.disableSubmit = true;
    },
  }
}
</script>

<style lang="less" scoped>
@import '~@assets/less/common.less';
/deep/ .ant-pagination{
  float:right;
}

///deep/ .resize-table-th {
//  position: relative;
//}
///deep/ .table-draggable-handle {
//  height: 100% !important;
//  bottom: 0;
//  left: auto !important;
//  right: -5px;
//  cursor: col-resize;
//  touch-action: none;
//}

</style>